Multi-homed hosts have a plurality of available communication interfaces. Applications executing on the host use one of the available communication interfaces for communication with other devices. When more than one of the communication interfaces are connected to a private network with a gateway and destination network address that are not explicitly matched, selection of the appropriate communication interface is difficult.
Some existing systems rely on a routing table. However, for any two interfaces of the same type (e.g., equal metric), the routing table treats multiple default-route entries the same with the assumption that any host is reachable over any of the two interfaces. In many cases (e.g., multiple access point names to restricted service networks), this assumption is wrong and the routing table fails. Additionally, the routing table fails to account for the possible existence of a firewall, a current state of each of the communication interfaces, a current state of the network, and other factors.